package com.zhouyong.leetcode.二的幂231;

/**
 * @Author 99
 * @Date 2022/10/8 10:14
 * @Version 1.0
 */
public class Test {

    // 给你一个整数 n，请你判断该整数是否是 2 的幂次方。如果是，返回 true ；否则，返回 false 。
    // 如果存在一个整数 x 使得n == 2x ，则认为 n 是 2 的幂次方。

    // 示例 1：
    // 输入：n = 1
    // 输出：true
    // 解释：20 = 1

    // 示例 2：
    // 输入：n = 16
    // 输出：true
    // 解释：24 = 16
    public static void main(String[] args) {
        System.out.println(isPowerOfTwo(4));
    }

    public static boolean isPowerOfTwo(int n) {
        if (n == 1) {
            return true;
        }
        if (n < 1) {
            return false;
        }
        if (n % 2 != 0) {
            return false;
        }
        return isPowerOfTwo(n / 2);
    }
}
